/**
 * 
 */
package presentacion.Marcas;


import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;

import negocio.Marcas.TransferMarca;

import presentacion.Controlador.Controlador;
import presentacion.Controlador.Eventos;


public class PanelMarcas  extends JPanel{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private JButton nuevaMarca, eliminarMarca, buscarMarca , actualizarMarca;
	
	public PanelMarcas(){  
		
		this.nuevaMarca = new JButton("Nueva Marca");
		this.eliminarMarca = new JButton("Eliminar Marca");
		this.buscarMarca = new JButton("Buscar Marca");
		this.actualizarMarca = new JButton("Actualizar Marca");	
		final JLabel id = new JLabel("ID");
		
		this.setLayout(new GridLayout(2,2, 2,2));
		this.add(this.nuevaMarca);
		this.add(this.eliminarMarca);
		this.add(this.buscarMarca);
		this.add(this.actualizarMarca);
		

		final Controlador c = Controlador.getInstancia();		
		
		this.nuevaMarca.addActionListener(new ActionListener() {					
			@Override			
			public void actionPerformed(ActionEvent arg0) {
				
				JFrame nueva = new JFrame("Nueva Marca");
				JButton mar = new JButton("CREAR");
				JLabel nombre = new JLabel("Nombre: ");
				final JTextField text = new JTextField(20);
				
				nueva.setLayout(new FlowLayout());
				nueva.add(nombre);
				nueva.add(text);
				nueva.add(mar);
				
				nueva.pack();
				nueva.setVisible(true);
				nueva.setLocationRelativeTo(null);
				
				mar.addActionListener(new ActionListener() {					
					@Override
					public void actionPerformed(ActionEvent arg0) {						
						String name = text.getText();
						if(name.compareToIgnoreCase("")!=0)
							{							
							TransferMarca tMarca = new TransferMarca(name);
							c.accionMarca(Eventos.crearMarca, tMarca);
							}
						else
							{
							JOptionPane.showMessageDialog(null,"No se ha introducido el nombre de la marca");
							}
					}
				});					
			}
		});
		
		this.eliminarMarca.addActionListener(new ActionListener() {					
			@Override
			public void actionPerformed(ActionEvent arg0) {
				
				JFrame nueva = new JFrame("Eliminar Marca");
				JButton mar = new JButton("ELIMINAR");
				final JTextField text = new JTextField(20);
				
				nueva.setLayout(new FlowLayout());
				nueva.add(id);
				nueva.add(text);
				nueva.add(mar);

				nueva.pack();
				nueva.setVisible(true);
				nueva.setLocationRelativeTo(null);
				
				mar.addActionListener(new ActionListener() {					
					@Override
					public void actionPerformed(ActionEvent arg0) {
						String name = text.getText();
						if(name.compareToIgnoreCase("")==0)
						{
							JOptionPane.showMessageDialog(null,"No se ha introducido el id de la marca");	
						}
						else{										
							try{								
								TransferMarca tMarca = new TransferMarca(Integer.parseInt(name));
								c.accionMarca(Eventos.eliminarMarca, tMarca);
							}catch(NumberFormatException e)
							{
							 JOptionPane.showMessageDialog(null,"formato de ID de marca inadecuado");	
							}
						}
					}
				});									
			}
		});
		
		this.buscarMarca.addActionListener(new ActionListener() {					
			@Override
			public void actionPerformed(ActionEvent arg0) {
				
				JFrame nueva = new JFrame("Buscar Marca");
				JButton mar = new JButton("BUSCAR");
				final JTextField text = new JTextField(20);
				
				nueva.setLayout(new FlowLayout());
				nueva.add(id);
				nueva.add(text);
				nueva.add(mar);
				
				nueva.pack();
				nueva.setVisible(true);
				nueva.setLocationRelativeTo(null);
				
				mar.addActionListener(new ActionListener() {					
					@Override
					public void actionPerformed(ActionEvent arg0) {
						String name = text.getText();
						if(name.compareToIgnoreCase("")==0)
						{
							JOptionPane.showMessageDialog(null,"No se ha introducido el id de la marca");	
						}
						else{										
							try{								
								TransferMarca tMarca = new TransferMarca(Integer.parseInt(name));
								c.accionMarca(Eventos.buscarMarca, tMarca);
							}catch(NumberFormatException e)
							{
							 JOptionPane.showMessageDialog(null,"formato de ID de marca inadecuado");	
							}
						}
					}
				});
			}
		});
		
		this.actualizarMarca.addActionListener(new ActionListener() {					
			@Override
			public void actionPerformed(ActionEvent arg0) {
								
				JFrame update = new JFrame("Actualizar Marca");				
				JButton nuevo = new JButton("ACTUALIZAR");
				JLabel name = new JLabel("Nuevo Nombre");
				final JTextField act = new JTextField(20);
				final JTextField num = new JTextField(20);
				
				update.setLayout(new FlowLayout());
				update.add(id);
				update.add(num);
				update.add(name);
				update.add(act);	
				update.add(nuevo);
				
				update.pack();
				update.setVisible(true);
				update.setLocationRelativeTo(null);
				
				nuevo.addActionListener(new ActionListener() {					
					@Override
					public void actionPerformed(ActionEvent arg0) {
						
						String name = act.getText();
						String id = num.getText();
						
						if(name.compareToIgnoreCase("")==0)
						{
						 JOptionPane.showMessageDialog(null,"No se ha introducido el nombre de la marca");	
						}
						else if(id.compareToIgnoreCase("")==0){
							JOptionPane.showMessageDialog(null,"No se ha introducido el id de la marca");	
						}
						else 
						{	
						try{
							TransferMarca tMarca = new TransferMarca(name, Integer.parseInt(id));
							c.accionMarca(Eventos.actualizarMarca, tMarca);
						 }catch(NumberFormatException e)
							{
							 JOptionPane.showMessageDialog(null,"formato de ID de marca inadecuado");	
							}
						}
					}
				});
									
			}
		});
	
	}	
}